home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 326-350 / disk_326 / dispmod / docs / dispmod.doc < prev    next >
Text File  |  1992-05-06  |  6KB  |  146 lines

  1. DispMod is one of the series of ROBBS modules. ROBBS stands for
  2.  
  3.    Rexx Object Building Block System
  4.  
  5. --------------------------------------------------------------------
  6.  
  7. All parts of this distribution are Copyright Larry Phillips 1988,
  8. 1989, and 1990. All rights reserved.
  9.  
  10. You may distribute DispMod sources, executables, documentation,
  11. and ARexx examples and utilities via online systems, including BBS
  12. systems and commercial telecommunication services, including, but
  13. not limited to Compuserve, Bix, People Link, and GEnie, provided no
  14. specific charge is made for this distribution, other than normal
  15. connect charges. It may be distributed by User Groups and 'freely
  16. distributable disk collections', exemplified by the Fred Fish disks.
  17. (Thanks Fred!)
  18.  
  19. You may not sell any part of this distribution.
  20.  
  21. If you wish to provide all or part of DispMod in any commercial
  22. product, please contact the author for permission.
  23.  
  24. --------------------------------------------------------------------
  25.  
  26. See the accompanying file 'ROBBS.doc' for a discussion of the ROBBS
  27. system of application building.
  28.  
  29. DispMod is a display module that only understands ARexx messages.
  30. It allows, under program control (ARexx programs or binary executables),
  31. the display of text and the acceptance of keyboard data.
  32.  
  33. It is very limited at this time, because it was intended as part of a
  34. series of articles in Transactor for the Amiga, and was kept simple, in the
  35. hope that those who like the concept would undertake to make their own
  36. improvements. It opens a full 320*200, borderless window on the WorkBench
  37. screen, and awaits ARexx messages.
  38.  
  39. Please refer to the following summary, the accompanying detailed command
  40. documentation, and the example script (data_entry.rexx) for programming
  41. information.
  42.  
  43. ------------------------------------------------------------------
  44. Command           Purpose                        Arguments
  45. ------------------------------------------------------------------
  46.   TEXT     Place characters on the display        STRING
  47.   LTEXT    TEXT, with appended linefeed           STRING
  48.   HTEXT    Highlighted text (different colour)    STRING
  49.   LHTEXT   HTEXT with appended linefeed           STRING
  50.   CRSR     Position the cursor on display         <row, column>
  51.   GETLINE  Get a line of text from the keyboard   [STRING]
  52.   TITLE    Place a title on the window.           STRING
  53.   STATUS   Return info about display              -NONE-
  54.   CONNECT  Attach attach keyboard to port         PORTNAME COMMAND
  55.   CTRL     Attach display to a control port       PORTNAME
  56.   DIE      Unload display module                  -NONE-
  57.  
  58.   REALLY_DIE    Special - see note below
  59. ----------------------------------------------------------------------
  60. STATUS -- returned from display module as a single string in RESULT
  61.  
  62.    Connected port name - where keyboard data will go.
  63.    Control port name   - where all other messages are sent
  64.    Window              - address of display window
  65.    Console write       - address of display console write IO struct
  66.  
  67. See the STATUS documentation for more details.
  68.  
  69. *********************************************************************/
  70.  
  71. REALLY_DIE:
  72.  
  73.   This command is only recognized after the DIE command has been
  74.   issued.  Its purpose is to save the day when, due to some programming
  75.   error in the script or another program, one or more messages from the
  76.   display has not been replied to.  In this case, it is necessary either
  77.   to await the reply (or replies) before exiting.  If you know that the
  78.   replies will never come, you can issue the REALLY_DIE command to the
  79.   display, and it will exit.
  80.  
  81.   You will know when you need to issue this command because the display
  82.   window will not go away when you think it should, and the CLI you
  83.   started the script from will have a message telling you that there
  84.   are outstanding commands. Upon receiving the REALLY_DIE command, dispmod
  85.   will assume you know what you are doing, and will free up the outstanding
  86.   messages.
  87.  
  88. *************************************************************************
  89.  
  90.   The display module will open a port called 'ROBBS_disp', to which all
  91. commands must be sent.  This can be accomplished in the normal ARexx
  92. manner by using the ADDRESS command in its various forms.
  93.  
  94.   By default, the display module will send all 'CTRL' messages to a port
  95. called 'ROBBS_ctrl', which must be opened in the ARexx script that
  96. controls the display. If you wish to have another port used as the
  97. controlling port, you must use the 'CTRL <portname>' command.
  98.  
  99. Please feel free to ask any questions, and to make any suggestions.
  100.  
  101. The following are some possible enhancements to dispmod you might want to try
  102. if you are a programmer.:
  103.  
  104.   The ability of DispMod to run in multiple incarnations. In particular,
  105.   the public ports need to have unique names.
  106.  
  107.   Commands to allow easy text manipulation, such as erase to EOL,
  108.   erase to EOS, colour control, etc.
  109.  
  110.   The ability to specify numeric fields, aplhanumeric fields, and
  111.   fields that only accept an arbitrarily limited set of characters under
  112.   program control.
  113.  
  114.   Protected fields. These fields could not be typed into, which would
  115.   make it easier to create forms for data entry.
  116.  
  117. ***********************************************************************
  118.  
  119. Contents of distribution:
  120.  
  121.      Docs (dir)
  122.        CONNECT.doc                    CRSR.doc
  123.        CTRL.doc                       DIE.doc
  124.        DispMod.doc                    GETLINE.doc
  125.        STATUS.doc                     TEXT.doc
  126.        TITLE.doc
  127.  
  128.      source (dir)
  129.        cli_parse.c                    consoleio.c
  130.        consoleio.h                    defs.h
  131.        dispmod.c                      Glue.asm
  132.        makefile                       rexxglue.o
  133.        wb_parse.c
  134.  
  135.      rexx (dir)
  136.        data_entry.rexx                killdisp.rexx
  137.        killrobbs.rexx
  138.  
  139.   dispmod
  140.  
  141. ***********************************************************************
  142.  
  143. Enjoy!
  144. - larry
  145.  
  146.